Integrating Software Pipelining and Graph Scheduling for Iterative Scientific Computations
نویسندگان
چکیده
Graph scheduling has been shown eeective for solving irregular problems represented as directed acyclic graphs(DAGs) on distributed memory systems. Many scientiic applications can also be modeled as iterative task graphs(ITGs). In this paper, we model the SOR computation for solving sparse matrix systems in terms of ITGs and address the optimization issues for scheduling ITGs when communication overhead is not zero. We present an approach that incorporates techniques of software pipelining and graph scheduling. We demonstrate the eeectiveness of our approach in mapping SOR computation and compare it with the multi-coloring method.
منابع مشابه
Heuristic Algorithms for Scheduling Iterative Task Computations on Distributed Memory Machines
Many partitioned scientiic programs can be modeled as iterative execution of computational tasks, represented by iterative task graphs (ITGs). In this paper, we consider the symbolic scheduling of ITGs on distributed memory architectures with nonzero communication overhead without searching the entire iteration space. An ITG may or may not have dependence cycles and we propose heuristic algorit...
متن کاملRegister-Sensitive Software Pipelining
In this paper, we propose an integrated approach for register-sensitive software pipelining. In this approach, the heuristics proposed in the stage scheduling method of Eichenberger and Davidson [4] are integrated with the iterative scheduling method to obtain schedules with high initiation rate and low register requirements. The performance of our integrated software pipelining method was anal...
متن کاملMapping Iterative Task Graphs on Distributed Memory Machines
This paper addresses the problem of scheduling iterative task graphs on distributed memory architec-tures with nonzero communication overhead. The proposed algorithm incorporates techniques of software pipelining, graph unfolding and directed acyclic graph scheduling. The goal of optimization is to minimize overall parallel time, which is achieved by balancing processor loads, exploring task pa...
متن کاملA novel framework for multi-rate scheduling in DSP applications
Net model for ne-grain loop scheduling. [7] S. Ha and E.A. Lee. Compile-time scheduling and assignment of data-BLOCKINow program graphs with data-dependent iteration. [12] K.K. Parhi and D.G. Messerschmitt. Statuc rate-optimal scheduling of iterative data-BLOCKINow programs via optimum unfolding. Direct synthesis of optimized DSP assembly code from signal ow block diagrams. [14] H. Printz. Auto...
متن کاملIterative Modulo Scheduling: An Algorithm For Software Pipelining
Modulo scheduling is a framework within which a wide variety of algorithms and heuristics may be defined for software pipelining innermost loops. This paper presents a practical algorithm, iterative modulo scheduling, that is capable of dealing with realistic machine models. This paper also characterizes the algorithm in terms of the quality of the generated schedules as well the computational ...
متن کامل